
// ゲームをクリアしたとき呼ばれます。
// if (hasItem("ドラゴンの紋章")) {
// 	if (GameClear())
// 		return 0;
// }

function GameClear()
{
//  	if (getFlag("GameClear")) {
// 		return false;
// 	}
	msg(
		"\n君はドラゴンの紋章を手に　城へと向かった。\n\f"
		"おお　それはまさしくドラゴンを倒した証。\n\!"
		"よくぞ　ドラゴンを倒してくださった。\n\!"
		"これで世界に平和が訪れるだろう。");
	msg("\nきみは　褒美を受け取った！\n");
	msg("そして、誰にも気づかれないうちに　城を去っていった。");
// 	setFlag("GameClear", true);
	changeScene("Ending");
	exit();
	return true;
}

var backImage = new Image();
Renderer.addObject(backImage);
//var graphics = new Graphics();
//Renderer.addObject(graphics);
System.addEventListener(Event.ENTER_FRAME, onEnterTown);

function loadBackgroundImage(fileName)
{
	backImage.load("Graphics/Images/" + fileName);
	backImage.setBounds(0, 0, Renderer.getWidth(), Renderer.getHeight());
	//backImage.setColorKey(#0f0);
	backImage.setColorKeyEnabled(false);
	//graphics.setColorKey(#000);
	//graphics.setFillColor(#000000cc);
	//graphics.drawImage(backImage);
	//graphics.fillRect(FONT_SIZE, FONT_SIZE, Renderer.getWidth()-FONT_SIZE*2, Renderer.getHeight()-FONT_SIZE*2);
	//graphics.drawFrame(FONT_SIZE, FONT_SIZE, Renderer.getWidth()-FONT_SIZE*2, Renderer.getHeight()-FONT_SIZE*2);
}
// 町に入ると定期的に呼ぶ関数です
function onEnterTown()
{
	loadBackgroundImage("town.jpg");
	playBGM("town.mid");
	var x = (Renderer.getWidth() - FONT_SIZE*28) / 2;
	var y = FONT_SIZE*4;
	var i = menu(
		StringTable.get("Tavern") + "\n" +
		StringTable.get("Inn")    + "\n" +
		StringTable.get("Shop")   + "\n" +
		StringTable.get("Temple") + "\n" +
		StringTable.get("Edge of Town"),
		x, y, Renderer.getWidth() - x*2
		);
	if (i == 0) {
		loadBackgroundImage("tavern.jpg");
		playBGM("tavern.mid");
		gotoTavern();
	}
	else if (i == 1) {
		loadBackgroundImage("inn.jpg");
		playBGM("inn.mid");
		gotoInn();
	}
	else if (i == 2) {
		loadBackgroundImage("shop.jpg");
		playBGM("shop.mid");
		gotoShop();
	}
	else if (i == 3) {
		loadBackgroundImage("temple.jpg");
		playBGM("temple.mid");
		gotoTemple();
	}
	else {
		System.removeEventListener(Event.ENTER_FRAME, onEnterTown);
		System.addEventListener(Event.ENTER_FRAME, edgeOfTown);
	}
}

// まちはずれ
function edgeOfTown()
{
	loadBackgroundImage("edgeOfTown.jpg");
	playBGM("edge of town.mid");
	var x = (Renderer.getWidth() - FONT_SIZE*28) / 2;
	var y = FONT_SIZE*4;
	var i = menu(
		StringTable.get("Goto Maze")              + "\n" +
		StringTable.get("Goto Training Grounds")  + "\n" +
		StringTable.get("Restart Adventure") + "\n" +
		StringTable.get("Leave Game")        + "\n" +
		StringTable.get("Return to Castle"),
		x, y, Renderer.getWidth() - x*2
		);
	if (i == 0) {
		gotoMaze();
	}
	else if (i == 1) {
		loadBackgroundImage("training grounds.jpg");
		playBGM("training grounds.mid");
		gotoTrainingGrounds();
	}
	else if (i == 2) {
		restartAdventure();
	}
	else if (i == 3) {
		stopBGM();
		if (yesno(StringTable.get("Save this expedition?"))) {
			save();
			msg(StringTable.get("Saved!"), FONT_SIZE*8, Renderer.getHeight()/2-FONT_SIZE, FONT_SIZE*16);
		}
	}
	else {
		System.removeEventListener(Event.ENTER_FRAME, edgeOfTown);
		System.addEventListener(Event.ENTER_FRAME, onEnterTown);
	}
}
